pub const BASE_SERVICE_URL: &str = "https://slitme.com";

/// VC Runtime x86
const VC_REDIST_2008_X86: &str = "vcredist_x86_2008.exe";
const VC_REDIST_2010_X86: &str = "vcredist_x86_2010.exe";
const VC_REDIST_2012_X86: &str = "vcredist_x86_2012_up4.exe";
const VC_REDIST_2013_X86: &str = "vcredist_x86_2013.exe";
const VC_REDIST_2015_2019_X86: &str = "vcredist_x86_2015.2019.exe";
/// VC Runtime x64
const VC_REDIST_2008_X64: &str = "vcredist_x64_2008.exe";
const VC_REDIST_2010_X64: &str = "vcredist_x64_2010.exe";
const VC_REDIST_2012_X64: &str = "vcredist_x64_2012_up4.exe";
const VC_REDIST_2013_X64: &str = "vcredist_x64_2013.exe";
const VC_REDIST_2015_2019_X64: &str = "vcredist_x64_2015.2019.exe";
/// VC Runtime x86 Include
const VC_REDIST_2008_X86_INCLUDE: &str = "1850354144/13639497";
const VC_REDIST_2010_X86_INCLUDE: &str = "1850354144/13639496";
const VC_REDIST_2012_X86_INCLUDE: &str = "1850354144/13639509";
const VC_REDIST_2013_X86_INCLUDE: &str = "1850354144/13639494";
const VC_REDIST_2015_2019_X86_INCLUDE: &str = "1850354144/13639500";
// VC Runtime x64 Include
const VC_REDIST_2008_X64_INCLUDE: &str = "1850354144/13639492";
const VC_REDIST_2010_X64_INCLUDE: &str = "1850354144/13639502";
const VC_REDIST_2012_X64_INCLUDE: &str = "1850354144/13639493";
const VC_REDIST_2013_X64_INCLUDE: &str = "1850354144/13639498";
const VC_REDIST_2015_2019_X64_INCLUDE: &str = "1850354144/13639501";

/// VC Redist Enums
#[derive(Debug)]
pub enum VcRedist {
    VcRedist2008X86,
    VcRedist2010X86,
    VcRedist2012X86,
    VcRedist2013X86,
    VcRedist20152019X86,
    VcRedist2008X64,
    VcRedist2010X64,
    VcRedist2012X64,
    VcRedist2013X64,
    VcRedist20152019X64,
}

impl VcRedist {
    pub fn get_vc(vc: VcRedist) -> (&'static str, &'static str) {
        match vc {
            VcRedist::VcRedist2008X86 => (VC_REDIST_2008_X86, VC_REDIST_2008_X86_INCLUDE),
            VcRedist::VcRedist2010X86 => (VC_REDIST_2010_X86, VC_REDIST_2010_X86_INCLUDE),
            VcRedist::VcRedist2012X86 => (VC_REDIST_2012_X86, VC_REDIST_2012_X86_INCLUDE),
            VcRedist::VcRedist2013X86 => (VC_REDIST_2013_X86, VC_REDIST_2013_X86_INCLUDE),
            VcRedist::VcRedist20152019X86 => (VC_REDIST_2015_2019_X86, VC_REDIST_2015_2019_X86_INCLUDE),
            VcRedist::VcRedist2008X64 => (VC_REDIST_2008_X64, VC_REDIST_2008_X64_INCLUDE),
            VcRedist::VcRedist2010X64 => (VC_REDIST_2010_X64, VC_REDIST_2010_X64_INCLUDE),
            VcRedist::VcRedist2012X64 => (VC_REDIST_2012_X64, VC_REDIST_2012_X64_INCLUDE),
            VcRedist::VcRedist2013X64 => (VC_REDIST_2013_X64, VC_REDIST_2013_X64_INCLUDE),
            VcRedist::VcRedist20152019X64 => (VC_REDIST_2015_2019_X64, VC_REDIST_2015_2019_X64_INCLUDE),
        }
    }
}